// 给定一个包含n + 1个整数的数组nums,里边包含的值都在1~n之间，假设nums中只存在一个重复的整数，要求找出这个重复的数

// 思路1，哈希表

function findRepeatNumber(nums) {
    let set = new Set()
    for (let i = 0; i < nums.length; i++) {
        if (set.has(nums[i])) {
            return nums[i]
        }        
        set.add(nums[i])
    }
    return -1
}

let arr = [1, 3, 2, 2, 4]
console.log(findRepeatNumber(arr))

// 思路2，排序
function findRepeatNumber2(nums) {
    nums.sort((a, b) => a - b)
    for (let i = 0; i < nums.length; i++) {
        if (nums[i] !== i + 1) {
            return nums[i]
        }        
    }
}

let arr2 = [1, 3, 2, 2, 4]
console.log(findRepeatNumber2(arr2))